using System;

namespace DesktopWidgetApp.Shared
{
    /// <summary>
    /// 工位状态模型
    /// </summary>
    public class Status
    {
        /// <summary>
        /// 状态ID
        /// </summary>
        public Guid Id { get; set; }

        /// <summary>
        /// 用户ID
        /// </summary>
        public Guid UserId { get; set; }

        /// <summary>
        /// 状态类型
        /// </summary>
        public StatusType Type { get; set; }

        /// <summary>
        /// 自定义状态文本
        /// </summary>
        public string CustomText { get; set; }

        /// <summary>
        /// 状态颜色
        /// </summary>
        public string Color { get; set; }

        /// <summary>
        /// 开始时间
        /// </summary>
        public DateTime StartTime { get; set; }

        /// <summary>
        /// 结束时间（如果有）
        /// </summary>
        public DateTime? EndTime { get; set; }

        /// <summary>
        /// 是否免打扰
        /// </summary>
        public bool IsDoNotDisturb { get; set; }

        /// <summary>
        /// 最后更新时间
        /// </summary>
        public DateTime LastUpdated { get; set; }

        /// <summary>
        /// 是否已同步到服务器
        /// </summary>
        public bool HasBeenSynced { get; set; }
    }

    /// <summary>
    /// 状态类型枚举
    /// </summary>
    public enum StatusType
    {
        /// <summary>
        /// 工作中
        /// </summary>
        Working,

        /// <summary>
        /// 会议中
        /// </summary>
        InMeeting,

        /// <summary>
        /// 休息中
        /// </summary>
        OnBreak,

        /// <summary>
        /// 外出
        /// </summary>
        OutOfOffice,

        /// <summary>
        /// 自定义
        /// </summary>
        Custom
    }
}